package com.tedu.api.io;

import org.apache.commons.imaging.ImageFormats;
import org.apache.commons.imaging.ImageReadException;
import org.apache.commons.imaging.ImageWriteException;
import org.apache.commons.imaging.Imaging;
import org.testng.annotations.Test;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

/**
 * IO流--针对  图片
 *
 * 项目结构：Maven互联网项目
 * 功能：下载第三方jar包【高手写好类，压缩jar文件--引入--实用类】
 * 第三方jar官方下载地址：百度搜：mvn仓库
 * https://mvnrepository.com
 *
 * Apache Commons Imageing 包 ：针对IO流图片传输六--封装
 *                             处理各种图像格式外置包
 *                             读入写出--JPEG,PNG,GIF,
 *  研究 第三方  xxx.jar  度搜：Apache    Commons  imaging 使用
 *  类中存在大量静态快通过雷鸣字节调用
 *
 */

public class ImageFile {
    /**
     * Imaging  提供一套读写图片流方法
     * 读：getBufferedImage（）  可以通过File文件路径找到一个图片
     *                          并且打印图片信息（宽高）
     */
    @Test
    public void testIg() throws IOException, ImageReadException {
        //创建File文件类---找到图片：路径地址+图片全程
        File file=new File("2.png");
        BufferedImage bi=Imaging.getBufferedImage(file);
        //获取图 片信息
        int height=bi.getHeight();
        int width=bi.getWidth();
        System.out.println("图片宽"+width+"高"+height);
    }
    /**
     * writeImage(读入图片，写出图片位置，图片格式，nill
     * 写出一个图片，，线读入一张图片，然后再写出
     */
    @Test
    public void testWI() throws IOException, ImageReadException, ImageWriteException {
        File file=new File("2.png");

        //2.写出图片路径+全称
        File desc=new File("ma.png");
        //3.Imaging
        BufferedImage bi=Imaging.getBufferedImage(file);

        Imaging.writeImage(bi,desc, ImageFormats.JPEG,null);
        System.out.println("");
    }
}
































